#ifndef TB_LIBM_PREFIX_H
#define TB_LIBM_PREFIX_H

#include "../prefix.h"

#ifdef TB_CONFIG_TYPE_HAVE_FLOAT

// the ieee float type
typedef union __tb_ieee_float_t {
    tb_float_t f;
    tb_uint32_t i;

} tb_ieee_float_t;

// the ieee double type
#ifdef TB_FLOAT_BIGENDIAN
typedef union __tb_ieee_double_t {
    tb_double_t d;
    struct {
        tb_uint32_t h;
        tb_uint32_t l;

    } i;

} tb_ieee_double_t;
#else
typedef union __tb_ieee_double_t {
    tb_double_t d;
    struct {
        tb_uint32_t l;
        tb_uint32_t h;
    } i;

} tb_ieee_double_t;
#endif

#endif

#endif // !TB_LIBM_PREFIX_H
